<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>DbTxn::set_timeout()</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
    <link rel="up" href="txn.html" title="Chapter 13.  The DbTxn Handle" />
    <link rel="prev" href="txnset_priority.html" title="DbTxn::set_priority()" />
    <link rel="next" href="utilities.html" title="Appendix A.  Berkeley DB Command Line Utilities" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">DbTxn::set_timeout()</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="txnset_priority.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 13. 
                The DbTxn Handle 
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="txnset_timeout"></a>DbTxn::set_timeout()</h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">#include &lt;db_cxx.h&gt;
 
u_int32_t
DbTxn::set_timeout(db_timeout_t timeout, u_int32_t flags);</pre>
      <p>
         The <code class="methodname">DbTxn::set_timeout()</code> method sets timeout values for locks or
         transactions for the specified transaction.
    </p>
      <p>
         Timeouts are checked whenever a thread of control blocks on a lock or
         when deadlock detection is performed.  In the case of
         <code class="literal">DB_SET_LOCK_TIMEOUT</code>, the timeout is for any single lock request. In
         the case of <code class="literal">DB_SET_TXN_TIMEOUT</code>, the timeout is for the life of the
         transaction.  As timeouts are only checked when the lock request first
         blocks or when deadlock detection is performed, the accuracy of the
         timeout depends on how often deadlock detection is performed.
    </p>
      <p>
         Timeout values may be specified for the database environment as a
         whole. Also, the database environment must enable the locking
         subsystem before timeout values can be specified.  See 
         <a class="xref" href="envset_timeout.html" title="DbEnv::set_timeout()">DbEnv::set_timeout()</a>
         for more information.
    </p>
      <p>
         The <code class="methodname">DbTxn::set_timeout()</code> method configures operations performed on
         the underlying transaction, not only operations performed using the
         specified <a class="link" href="txn.html" title="Chapter 13.  The DbTxn Handle">DbTxn</a>  handle.
    </p>
      <p>
         The <code class="methodname">DbTxn::set_timeout()</code> method may be called at any time during the
         life of the application.
    </p>
      <p>
         The <code class="methodname">DbTxn::set_timeout()</code> <span>
            
            <span>
                method either returns a non-zero error value or throws an
                exception that encapsulates a non-zero error value on
                failure, and returns 0 on success.
            </span>
        </span>
    </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp10531776"></a>Parameters</h3>
            </div>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp10531128"></a>timeout</h4>
              </div>
            </div>
          </div>
          <p>
                          The <span class="bold"><strong>timeout</strong></span> parameter is specified as
                          an unsigned 32-bit number of microseconds, limiting the maximum
                          timeout to roughly 71 minutes.  A value of 0 disables timeouts for the
                          transaction.
                     </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp10525504"></a>flags</h4>
              </div>
            </div>
          </div>
          <p>
                          The <span class="bold"><strong>flags</strong></span> parameter must be set to
                          one of the following values:
                     </p>
          <div class="itemizedlist">
            <ul type="disc">
              <li>
                <p>
                  <code class="literal">DB_SET_LOCK_TIMEOUT</code>
            </p>
                <p>
                Set the timeout value for locks in this transaction.
            </p>
              </li>
              <li>
                <p>
                  <code class="literal">DB_SET_TXN_TIMEOUT</code>
            </p>
                <p>
                Set the timeout value for this transaction.
            </p>
              </li>
            </ul>
          </div>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp10541344"></a>Errors</h3>
            </div>
          </div>
        </div>
        <p>
                         The <code class="methodname">DbTxn::set_timeout()</code> <span>
            
            <span>
                method may fail and throw a <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a> 
                exception, encapsulating one of the following non-zero errors, or return one
                of the following non-zero errors:
            </span>
        </span>
                    </p>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="idp10549344"></a>EINVAL</h4>
              </div>
            </div>
          </div>
          <p>
                An invalid flag value or parameter was specified.
            </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp10548048"></a>Class</h3>
            </div>
          </div>
        </div>
        <p>
                 <a class="link" href="env.html" title="Chapter 5.  The DbEnv Handle">DbEnv</a>, <a class="link" href="txn.html" title="Chapter 13.  The DbTxn Handle">DbTxn</a> 
            </p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp10543384"></a>See Also</h3>
            </div>
          </div>
        </div>
        <p>
                     <a class="xref" href="txn.html#txnlist" title="Transaction Subsystem and Related Methods">Transaction Subsystem and Related Methods</a> 
                </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="txnset_priority.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="txn.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">DbTxn::set_priority() </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Appendix A. 
                Berkeley DB Command Line Utilities
        </td>
        </tr>
      </table>
    </div>
  </body>
</html>
